﻿namespace WMS6.Services
{
    using System.Collections.Generic;
    using System.Data;
    using System.ServiceModel;
    using WMS6.Common;
    using WMS6.DataEntity;
    using WMS6.QueryEntity;

    [ServiceContract(Namespace="WMS6.Services")]
    public interface IAnalyticsReportService
    {
        [ServiceKnownType(typeof(InvAdjustmentRptQueryEntity)), OperationContract, FaultContract(typeof(FaultDetail))]
        DataSet GetAdjustMentRptDataSet(InvAdjustmentRptQueryEntity InvAdjustmentRptQueryEntity, PubParasInfo pubParasInfo);
        [ServiceKnownType(typeof(ASNStatusRptInfo)), ServiceKnownType(typeof(ASNStatusRptQueryEntity)), FaultContract(typeof(FaultDetail)), OperationContract]
        List<ASNStatusRptInfo> GetASNStatusRptInfo(ASNStatusRptQueryEntity asnStatusRptQueryEntity, PubParasInfo pubParasInfo);
        [OperationContract, FaultContract(typeof(FaultDetail)), ServiceKnownType(typeof(CustomerReturnDetailRptQueryEntity))]
        DataSet GetCustomerReturnDetailRptDataSet(CustomerReturnDetailRptQueryEntity customerReturnDetailRptQueryEntity, PubParasInfo pubParasInfo);
        [OperationContract, ServiceKnownType(typeof(DiffCountRptInfo)), FaultContract(typeof(FaultDetail)), ServiceKnownType(typeof(DiffCountRptQueryEntity))]
        List<DiffCountRptInfo> GetDiffCountReportList(DiffCountRptQueryEntity diffCountRptQueryEntity, PubParasInfo pubParasInfo);
        [ServiceKnownType(typeof(EmptyLocationRptInfo)), ServiceKnownType(typeof(EmptyLocationRptQueryEntity)), FaultContract(typeof(FaultDetail)), OperationContract]
        List<EmptyLocationRptInfo> GetEmptyLocationRptInfo(EmptyLocationRptQueryEntity emptyLocationRptQuery, PubParasInfo pubParasInfo);
        [ServiceKnownType(typeof(FinanceInOutStockDetailRptQueryEntity)), OperationContract, FaultContract(typeof(FaultDetail))]
        DataSet GetFinanceInOutStockDetailRptDataSet(FinanceInOutStockDetailRptQueryEntity financeInOutStockDetailRptQueryEntity, PubParasInfo pubParasInfo);
        [OperationContract, FaultContract(typeof(FaultDetail)), ServiceKnownType(typeof(FinanceSalesDetailRptQueryEntiry))]
        DataSet GetFinanceSalesDetailByDateRptDataSet(FinanceSalesDetailRptQueryEntiry financeSalesDetailRptQueryEntiry, PubParasInfo pubParasInfo);
        [FaultContract(typeof(FaultDetail)), OperationContract, ServiceKnownType(typeof(FinanceSalesDetailRptQueryEntiry))]
        DataSet GetFinanceSalesDetailRptDataSet(FinanceSalesDetailRptQueryEntiry financeSalesDetailRptQueryEntiry, PubParasInfo pubParasInfo);
        [ServiceKnownType(typeof(GlobalInventoryRptQueryEntity)), FaultContract(typeof(FaultDetail)), OperationContract]
        DataSet GetGlobalInventoryRptDataSet(GlobalInventoryRptQueryEntity globalInventoryRptQueryEntity, PubParasInfo pubParasInfo);
        [OperationContract, ServiceKnownType(typeof(IdleInventoryRptQueryEntiry)), FaultContract(typeof(FaultDetail))]
        DataSet GetIdleInventoryRptDataSet(IdleInventoryRptQueryEntiry idleInventoryRptQueryEntiry, PubParasInfo pubParasInfo);
        [ServiceKnownType(typeof(InOutBlanaceRptQueryEntity)), OperationContract, FaultContract(typeof(FaultDetail))]
        DataSet GetInOutBlanaceRptDataSet(InOutBlanaceRptQueryEntity inOutBlanaceRptQueryEntity, PubParasInfo pubParasInfo);
        [ServiceKnownType(typeof(InOutStockRptDetailQueryEntity)), ServiceKnownType(typeof(InOutStockDetailRptInfo)), OperationContract, FaultContract(typeof(FaultDetail))]
        DataSet GetInOutStockRptDetailInfo(InOutStockRptDetailQueryEntity InOutStockRptDetailQuery, PubParasInfo pubParasInfo);
        [FaultContract(typeof(FaultDetail)), OperationContract, ServiceKnownType(typeof(InOutStockRptInfo)), ServiceKnownType(typeof(InOutStockRptQueryEntity))]
        DataSet GetInOutStockRptInfo(InOutStockRptQueryEntity InOutStockRptQuery, PubParasInfo pubParasInfo);
        [ServiceKnownType(typeof(InvLocSkyTransRptQueryEntity)), FaultContract(typeof(FaultDetail)), OperationContract]
        DataSet GetInvLocSkyTransRptDataSet(InvLocSkyTransRptQueryEntity invLocSkyTransRptQueryEntity, PubParasInfo pubParasInfo);
        [ServiceKnownType(typeof(LocationRptInfo)), OperationContract, ServiceKnownType(typeof(LocationRptQueryEntity)), FaultContract(typeof(FaultDetail))]
        List<LocationRptInfo> GetLocationRptInfo(LocationRptQueryEntity locationRptQuery, PubParasInfo pubParasInfo);
        [ServiceKnownType(typeof(OnTheWayOrderRptQueryEntity)), OperationContract, FaultContract(typeof(FaultDetail))]
        DataSet GetOnTheWayOrderRptDataSet(OnTheWayOrderRptQueryEntity onTheWayOrderRptQueryEntity, PubParasInfo pubParasInfo);
        [ServiceKnownType(typeof(OperationLogQueryEntity)), OperationContract, FaultContract(typeof(FaultDetail))]
        DataSet GetOperationLogDataSet(OperationLogQueryEntity operationLogQueryEntity, PubParasInfo pubParasInfo);
        [OperationContract, ServiceKnownType(typeof(OwnerTransferRptQueryEntity)), FaultContract(typeof(FaultDetail))]
        DataSet GetOwnerTransferRptDataSet(OwnerTransferRptQueryEntity ownerTransferRptQueryEntity, PubParasInfo pubParasInfo);
        [OperationContract, FaultContract(typeof(FaultDetail)), ServiceKnownType(typeof(PhysicalCountDiffRptQueryEntity))]
        DataSet GetPhysicalCountReportDataSet(PhysicalCountDiffRptQueryEntity physicalCountDiffRptQueryEntity, PubParasInfo pubParasInfo);
        [ServiceKnownType(typeof(PhysicalCountRptQueryEntity)), OperationContract, FaultContract(typeof(FaultDetail)), ServiceKnownType(typeof(PhysicalCountRptInfo))]
        List<PhysicalCountRptInfo> GetPhysicalCountReportList(PhysicalCountRptQueryEntity physicalCountRptQueryEntity, PubParasInfo pubParasInfo);
        [OperationContract, FaultContract(typeof(FaultDetail)), ServiceKnownType(typeof(PickingRptInfo)), ServiceKnownType(typeof(PickingRptQueryEntity))]
        DataSet GetPickingRptInfo(PickingRptQueryEntity PickingRptQuery, PubParasInfo pubParasInfo);
        [OperationContract, FaultContract(typeof(FaultDetail)), ServiceKnownType(typeof(PurchasePlanRptQueryEntity))]
        DataSet GetPurchasePlanRptDataSet(PurchasePlanRptQueryEntity purchasePlanRptQueryEntity, PubParasInfo pubParasInfo);
        [OperationContract, ServiceKnownType(typeof(ReceiptDetailRptInfo)), ServiceKnownType(typeof(ReceiptDetailRptQueryEntity)), FaultContract(typeof(FaultDetail))]
        List<ReceiptDetailRptInfo> GetReceiptDetailRptInfo(ReceiptDetailRptQueryEntity receiptDetailRptQueryEntity, PubParasInfo pubParasInfo);
        [ServiceKnownType(typeof(ReceiptRptInfo)), OperationContract, ServiceKnownType(typeof(ReceiptRptQueryEntity)), FaultContract(typeof(FaultDetail))]
        List<ReceiptRptInfo> GetReceiptRptInfo(ReceiptRptQueryEntity ReceiptRptQuery, PubParasInfo pubParasInfo);
        [ServiceKnownType(typeof(SafeInventoryRptInfo)), FaultContract(typeof(FaultDetail)), OperationContract, ServiceKnownType(typeof(SafeInventoryRptQueryEntity))]
        DataSet GetSafeInventoryRptInfo(SafeInventoryRptQueryEntity safeInventoryRptQuery, PubParasInfo pubParasInfo);
        [ServiceKnownType(typeof(ShelflifeRptQueryEntity)), OperationContract, FaultContract(typeof(FaultDetail)), ServiceKnownType(typeof(ShelflifeRptInfo))]
        DataSet GetShelflifeRptInfo(ShelflifeRptQueryEntity ShelflifeRptQuery, PubParasInfo pubParasInfo);
        [ServiceKnownType(typeof(ShipmentOrderDetailRptInfo)), FaultContract(typeof(FaultDetail)), OperationContract, ServiceKnownType(typeof(ShipmentOrderDetailRptQueryEntity))]
        DataSet GetShipmentOrderDetailRptInfo(ShipmentOrderDetailRptQueryEntity shipmentOrderDetailRptQuery, PubParasInfo pubParasInfo);
        [ServiceKnownType(typeof(ShipmentOrderStatusRptInfo)), FaultContract(typeof(FaultDetail)), ServiceKnownType(typeof(ShipmentOrderStatusRptQueryEntity)), OperationContract]
        List<ShipmentOrderStatusRptInfo> GetShipmentOrderRptInfo(ShipmentOrderStatusRptQueryEntity shipmentOrderStatusRptQueryEntity, PubParasInfo pubParasInfo);
        [ServiceKnownType(typeof(ShipmentOrderRptQueryEntity)), OperationContract, ServiceKnownType(typeof(ShipmentOrderRptInfo)), FaultContract(typeof(FaultDetail))]
        DataSet GetShipmentOrderRptInfoByShipmentOrderRptQueryEntity(ShipmentOrderRptQueryEntity shipmentOrderRptQuery, PubParasInfo pubParasInfo);
        [ServiceKnownType(typeof(ShipmentOrderRptInfo)), ServiceKnownType(typeof(ShipmentOrderRptQueryEntity)), FaultContract(typeof(FaultDetail)), OperationContract]
        DataSet GetShipmentOrderRptStatistics(ShipmentOrderRptQueryEntity shipmentOrderStatusRptQueryEntity, PubParasInfo pubParasInfo);
        [FaultContract(typeof(FaultDetail)), ServiceKnownType(typeof(ShipmentStatByCustomerRptQueryEntity)), OperationContract]
        DataSet GetShipmentStatByCustomerRptDataSet(ShipmentStatByCustomerRptQueryEntity shipmentStatByCustomerRptQueryEntity, PubParasInfo pubParasInfo);
        [ServiceKnownType(typeof(ShipmentStatByOrderRptQueryEntity)), FaultContract(typeof(FaultDetail)), OperationContract]
        DataSet GetShipmentStatByOrderRptDataSet(ShipmentStatByOrderRptQueryEntity shipmentStatByOrderRptQueryEntity, PubParasInfo pubParasInfo);
        [OperationContract, ServiceKnownType(typeof(ShipmentStatSplitCustomerRptQueryEntity)), FaultContract(typeof(FaultDetail))]
        DataSet GetShipmentStatSplitCustomerRptDataSet(ShipmentStatSplitCustomerRptQueryEntity shipmentStatSplitCustomerRptQueryEntity, PubParasInfo pubParasInfo);
        [ServiceKnownType(typeof(StockRptInfo)), ServiceKnownType(typeof(StockRptQueryEntity)), FaultContract(typeof(FaultDetail)), OperationContract]
        DataSet GetStockRptInfo(StockRptQueryEntity stockRptQuery, PubParasInfo pubParasInfo);
        [ServiceKnownType(typeof(VendorReturnDetailRptQueryEntity)), FaultContract(typeof(FaultDetail)), OperationContract]
        DataSet GetVendorReturnDetailRptDataSet(VendorReturnDetailRptQueryEntity vendorReturnDetailRptQueryEntity, PubParasInfo pubParasInfo);
        [FaultContract(typeof(FaultDetail)), ServiceKnownType(typeof(WarehouseTransferRptQueryEntity)), OperationContract]
        DataSet GetWarehouseTransferRptDateSet(WarehouseTransferRptQueryEntity warehouseTransferRptQueryEntity, PubParasInfo pubParasInfo);
        [ServiceKnownType(typeof(GlobalInventoryWithWHRptQueryEntity)), FaultContract(typeof(FaultDetail)), OperationContract]
        DataSet GlobalInventoryWithWHRptDataSet(GlobalInventoryWithWHRptQueryEntity GlobalInventoryWithWHRptQueryEntity, PubParasInfo pubParasInfo);
    }
}

